export interface BannerItem {
  // deleted: false;
  // gmtCreate: "2019-11-13 18:05:32";
  // gmtModified: "2021-08-09 21:28:41";
  id: string;
  imageUrl: string;
  linkUrl: string;
  sort: number;
  title: string;
}

export type BannerList = BannerItem[];

export interface GetHomeBannerListResponse {
  bannerList: BannerList;
}

export interface TeacherItem {
  id: string;
  // gmtCreate: "2019-11-19 17:41:37";
  // gmtModified: "2022-05-09 20:04:27";
  // deleted: false;
  name: string;
  intro: string;
  // career: "具有多年项目开发和教育培训经验，曾在日本野村证券主持开发金融证券项目，对金融数据处理具有丰富的经验。曾为北京积水潭医院主持开发过网络预约，挂号，分诊系统等。对主流框架Spring、Struts2、Hibernate、MyBatis、SpringMVC、SpringBoot、SpringCloud有深入的研究。";
  // level: 1;
  avatar: string;
  // sort: 1;
}

export type TeacherList = TeacherItem[];

export interface CourseItem {
  id: string;
  teacherId: string;
  subjectId: string;
  subjectParentId: string;
  title: string;
  price: number;
  lessonNum: number;
  cover: string;
  buyCount: number;
  viewCount: number;
  version: number;
  status: string;
  subjectLevelOne: string;
  subjectLevelTwo: string;
  avatar: string;
  teacherName: string;
  intro: string;
  description: string;
  // gmtCreate: "2018-04-02 21:28:46";
  // gmtModified: "2022-09-20 09:19:40";
}

export type CourseList = CourseItem[];
export interface GetHomeEduDataResponse {
  teacherList: TeacherList;
  courseList: CourseList;
}

export interface GetCourseListResponse {
  pages: number;
  items: CourseList;
}

export interface UserInfo {
  item: {
    nickname: string;
    avatar: string;
  };
}

export interface ChapterChild {
  id: string;
  title: string;
  free: boolean;
  videoSourceId: string;
}

export type ChapterChildren = ChapterChild[];
export interface ChapterItem {
  id: string;
  title: string;
  children: ChapterChildren;
}

export type ChapterList = ChapterItem[];
export interface GetCourseDetailResponse {
  isBuy: boolean;
  chapterList: ChapterList;
  isCollect: boolean;
  course: CourseItem;
}

export interface CommentItem {
  id: string;
  gmtCreate: "2022-09-17 14:07:58";
  // gmtModified: "2022-09-17 14:07:58";
  // deleted: null;
  courseId: string;
  teacherId: string;
  memberId: string;
  nickname: string;
  avatar: string;
  content: string;
}

export type CommentList = CommentItem[];
export interface GetCourseCommentListResponse {
  total: 39;
  pages: 4;
  items: CommentList;
}

export interface OrderInfo {
  id: string;
  // gmtCreate: "2022-09-20 18:14:13";
  // gmtModified: "2022-09-20 18:14:13";
  // deleted: false;
  orderNo: string;
  courseId: string;
  courseTitle: string;
  courseCover: string;
  teacherName: string;
  memberId: string;
  nickname: string;
  mobile: string;
  totalFee: number;
  payType: number;
  status: number;
}
export interface GetOrderInfoResponse {
  item: OrderInfo;
}

export interface PayParams {
  timeStamp: string;
  package: string;
  paySign: string;
  signType: string;
  nonceStr: string;
}
